The present invention relates to a robot, a robot control system, and a program for the same, and in particular, to a robot, a robot control system, and a program for the same in which a new control program module is received via a network connected to a robot such that the program is added to and is executed in the robot.
Description of the Prior Art
In the prior art, a robot of this kind includes such constituent components as an image input unit, a human searching sensor, a voice input unit, a voice recognizer unit, a voice output unit, a leg motor, a head motor, and an action control unit. Actions of the robot are controlled by a control program installed in the action controller.
FIG. 1 shows an example of constitution of such a robot. As can be seen from FIG. 1, the robot includes a voice input unit 900 such as a microphone, a voice recognizer unit 901 which recognizes words according to voice or sound inputted from the voice input unit 900 to convert the words into a string of characters representing a reading of the words, a voice output unit 902 to sound a voice file from a speaker or the like, an ultrasonic sensor 903 to measure distance to an obstacle, a leg motor 904 to move a main body of the robot, a head motor 905 to turn a head of the robot, and a data processing unit 906 to process data under control of a program.
FIG. 2 shows a flowchart of a control program of the robot.
First, whether or not any voice has been received from the voice input unit 900 (step S10). If such a voice input is absent (no in step S10), the program calls xe2x80x9cstrollxe2x80x9d (step S11). If the input is present (yes in step S10), program calls xe2x80x9cdialogxe2x80x9d (step S12).
FIG. 3 shows processing of xe2x80x9cstrollxe2x80x9d in a flowchart. The program a plurality of kinds of moving program modules and obstacle avoiding program modules. The program has various moving patterns. That is, the program generates random numbers to select program modules to be executed.
The program first generates a random number ranging from 0 to 2 (step T10) to select one module from three basic moving program modules (steps T11, T12, T31, T32, and T33) according to the random number. In this specification, such a basic action program module of the robot is referred to as xe2x80x9cscenarioxe2x80x9d. That is, one scenario is selected from three moving or action scenarios of the robot according to the random number. The action scenario are xe2x80x9cmove 10 centimeters (cm) forwardxe2x80x9d, xe2x80x9cturn right widelyxe2x80x9d, and xe2x80x9cturn left widelyxe2x80x9d.
Next, a signal from the ultrasonics sensor 903 is examined to determine whether or not an obstacle exists in front of the robot (step T16). If no obstacle exists (no in step T16), the processing is terminated. If any obstacle exists (yes in step T16), the program generates a random number ranging from 0 to 2 to select one scenario from three obstacle avoiding scenarios (steps T17, T18, T19, T41, and T42). The obstacle avoiding scenarios are xe2x80x9cturn right 45xc2x0xe2x80x9d, xe2x80x9cturn left 45xc2x0xe2x80x9d, and xe2x80x9cface to random directionxe2x80x9d.
FIG. 4 shows processing of xe2x80x9cdialogxe2x80x9d in a flowchart. The program includes a response program according to recognized words to conduct a dialog with a user in response to a call from the user.
The program first receives the reading of recognized words from the voice recognizer 901 (step U10). The program then calls a dialog scenario according to each recognition word (steps U11 to U16). If there does not exist any corresponding dialog scenario, the program calls a wrong recognition response scenario (step U17).
Each scenario is a program executable in the data processor 906. The program is described in the C language to be directly executed by the data processor 906 or is described in a high level language which is interpreted and is or may be executed by an interpreter of the data processor 906.
Japanese Patent Application Laid-Open No. 2000-326274 describes an example of a robot of the prior art.
The robot described in the publication includes a moving control processing section, a human search processing section, a control switching section, and an input information storing section. For example, when the dialog processing section receives input information containing an output from a voice recognizer, the dialog processing section outputs a voice according to recognized words from a voice output unit. The dialog processing section refers to friendliness of a human being recognized and produces a response, i.e., a voice according to the friendliness.
Japanese Patent Application Laid-Open No. Hei 11-327872 describes a technology for use with a robot of animal type connected to a network. In the technique, by analyzing an electronic-mail or e-mail letter received from the network, the program reads out the contents of the analyzed e-mail letter and produces an effect sound according to a string of particular symbols contained in the e-mail letter, thereby controls all or part of operation of the robot.
Japanese Patent Application Laid-Open No. 2000-75907 describes a technique regarding an industrial robot to receive an operation indication by e-mail. In the technique, a product agent has a mail unit and an execution unit. The execution unit executes processing of an operation according to an e-mail letter received by the mail unit.
However, the techniques of the prior art are attended with a problem that it is impossible to receive a new function via the network to add the function to an existing robot control program for the following reason.
In the robot control program of the prior art, the operation to receive a new function to add the function thereto has not been taken into consideration.
In the prior art described in Japanese Patent Application Laid-Open No. Hei 11-327872, any operation to be conducted as a result of the analysis of an e-mail letter received from the network has been beforehand incorporated in the robot. This leads to a problem that a new operation cannot be added thereto.
Japanese Patent Application Laid-Open Ser. No. 2000-75907 describes a technique of the prior art in which the acceptable e-mail letter is an indication of operation for an executing block incorporated in the product agent in advance. This brings about a problem that a new executing block cannot be added to the agent by electronic mail.
It is therefore an object of the present invention, which has been devised to remove the problems, to provide a robot, a robot control system, and a program for the same in which a new function of a control program of a robot can be received via a network so that the new function is added to the robot control program and is executed in the robot.
To achieve the object in accordance with a first aspect of the present invention, there is provided a robot for executing a robot control program module, the robot receiving a new robot control program module from a communication line and writing the new robot control program module in a recording section of the robot.
In accordance with a second aspect of the present invention, there is provided a robot, comprising receiver means for receiving a new robot control program module from a communication line, register means for adding the control program module received by the receiver means to the robot, selector means for selecting a robot control program module to be executed from a robot control program module originally included in the robot and the robot control program module added to the robot, and control program executor means for executing the robot control program module selected by the selector means.
In accordance with a third aspect of the present invention, there is provided a robot, wherein the receiver means uses an internet as the communication line and receives the control program module by electronic mail.
In accordance with a fourth aspect of the present invention, there is provided a robot further comprising initialization program executor means for executing an initialization program included in the control program module registered by the register means, at the registration of the control program module, the initialization program determining an execution point of time of the control program module.
In accordance with a fifth aspect of the present invention, there is provided a robot further comprising voice recognition word adder means for adding voice recognition words to a voice recognizer dictionary, the voice recognition words being used to call the control program module registered by the register means.
In accordance with a sixth aspect of the present invention, there is provided a robot further comprising received program executor means for executing the control program module received by the receiver means, at the reception thereof.
In accordance with a seventh aspect of the present invention, there is provided a robot, wherein the received program executor means erases, after having executed the control program module, the control program module.
In accordance with an eighth aspect of the present invention, there is provided a robot control system for use with a robot for executing a robot control program module, the robot control system receiving a new robot control program module from a communication line and writing the new robot control program module in a recording section of the robot.
In accordance with a ninth aspect of the present invention, there is provided a robot control system, comprising receiver means for receiving a new robot control program module from a communication line, register means for adding the control program module received by the receiver means to the robot control system, selector means for selecting a robot control program module to be executed from a robot control program module originally included in the robot and the robot control program module added to the robot, and control program executor means for executing the robot control program module selected by the selector means.
In accordance with a tenth aspect of the present invention, there is provided a robot control system, wherein the receiver means uses an internet as the communication line and receives the control program module by electronic mail.
In accordance with an 11th aspect of the present invention, there is provided a robot control system further comprising initialization program executor means for executing an initialization program included in the control program module registered by the register means, at the registration of the control program module, the initialization program determining an execution point of time of the control program module.
In accordance with a 12th aspect of the present invention, there is provided a robot control system further comprising voice recognition word adder means for adding voice recognition words to a voice recognizer dictionary, the voice recognition words being used to call the control program module registered by the register means.
In accordance with a 13th aspect of the present invention, there is provided a robot control system further comprising received program executor means for executing the control program module received by the receiver means, at the reception thereof.
In accordance with a 14th aspect of the present invention, there is provided a robot control system, wherein the received program executor means erases, after having executed the control program module, the control program module.
In accordance with a 15th aspect of the present invention, there is provided a program for making a computer execute a robot control program module for a robot, the program receiving a new robot control program module from a communication line and writing the new robot control program module in a recording section of the robot.
In accordance with a 16th aspect of the present invention, there is provided a program for use with a robot, comprising the steps of receiving a new robot control program module from a communication line, additionally registering the control program module received by the receiver means to the robot control system, selecting a robot control program module to be executed from a robot control program module originally included in the robot and the robot control program module added to the robot, and executing the robot control program module selected by the selector means.
In accordance with a 17th aspect of the present invention, there is provided a program, wherein the receiving step uses an internet as the communication line and receives the control program module by electronic mail.
In accordance with an 18th aspect of the present invention, there is provided a program further comprising the step of making a computer execute an initialization program execution step, the initialization program execution step executing an initialization program included in the control program module registered by the registering step, at the registration of the control program module, the initialization program determining an execution point of time of the control program module.
In accordance with a 19th aspect of the present invention, there is provided a program further comprising the step of making a computer execute a voice recognition word adder step, the voice recognition word adder step adding voice recognition words to a voice recognizer dictionary, the voice recognition words being used to call the control program module registered by the registering step.
In accordance with a 20th aspect of the present invention, there is provided a program further comprising the step of making a computer execute a received program executing step of executing the control program module received by the receiver means, at the reception thereof in the receiving step.
In accordance with a 21st aspect of the present invention, there is provided a program, wherein the received program executing step includes erasing, after having executed the control program module, the control program module.